package ywpt.service.people;

import java.util.List;

import org.hibernate.criterion.DetachedCriteria;

import ywpt.model.Department;
import ywpt.model.PeopleInfo;
import ywpt.model.PositionInfo;
import ywpt.model.XueliInfo;

public interface PeopleService {

	public abstract PeopleInfo getPeopleInfoById(Long id);

	public abstract int getPeopleInfoCountByCriteria(DetachedCriteria query);

	public abstract List<PeopleInfo> getPeopleInfos(
			DetachedCriteria query, int pageSize, int startIndex);

	public abstract String createPeopleCode();
	
	public abstract List<PeopleInfo> getPeopleInfos(DetachedCriteria query);

	public abstract List<PeopleInfo> getPeopleInfos( );
	
	public abstract void savePeopleInfo(PeopleInfo peopleInfo, Long departId,Long positionId,Long jiguanId,Long xueliId,Long checkerId);

	public abstract void updatePeopleInfo(PeopleInfo peopleInfo, Long departId, Long positionId,Long jiguanId,Long xueliId,Long checkerId);
	
	public abstract void update(PeopleInfo peopleInfo);

	public abstract void removePeopleInfo(Long id);
	
	public abstract int getPeoplesCountByName(String peopleName);
	
	public abstract List<PeopleInfo> getPeoplesByPeopleName(String peopleName, int start,int size);

	public abstract List<Department> getDepartments();

	public abstract List<PositionInfo> getPositions();

	public abstract List<XueliInfo> getXuelis();

	public abstract List<PeopleInfo> getPeopleInfosByIds(String assistMans);
	
	public abstract List<PeopleInfo> getPeopleInfosByDepartId(Long departId) ;

}
